// console.time() 可以测试出一段程序执行的时间
// console.profile() 在火狐浏览器中安装 FireBug , 可以更精准的获取到当前
// 每一个步骤所消耗的时间
/* console.time('A');
for (let i = 0; i < 100000000; i++) {}
console.timeEnd('A') */


// 实现 (5).add(3).minus(2)，使其输出结果为 6
~ function () {
    // 每一个方法执行完，都要返回 number 这个类的实例，这样才可以继续调用 number 类原型中的方法(链式写法)
    function check(n) {
        n = Number(n);
        return isNaN(n) ? 0 : n;
    }

    function add(n) {
        n = check(n);
        return this + n;
    }

    function minus(n) {
        n = check(n);
        return this - n;
    }

    ["add", "minus"].forEach(item => {
        Number.prototype[item] = eval(item)
    })
}()
console.log((5).add(3).minus(2))